home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / RLaB 1.15c / WHATS.NEW < prev    next >
Encoding:
Text File  |  1994-11-06  |  17.0 KB  |  594 lines  |  [TEXT/ttxt]

  1.  
  2. ***    What's New in Version v1.15 ?
  3.  
  4.     1.) Some effort has been expended to re-work some of the guts
  5.     in an attempt to safely speed interpreter execution.
  6.     Additionally work has been done to clean up the parser
  7.     generated op-codes, and simplify the functions (operations) in
  8.     the virtual machine.
  9.  
  10.     Specifically: Re-work conditional interpretation.
  11.               Speed up temporary entity handling.
  12.  
  13.     Due to the nature of the beast (RLaB), execution times will
  14.     not change uniformly, some operations should be faster, some
  15.     might not change much.  But, on the whole, the trend should be
  16.     faster execution (anywhere from 0-50% on my machine).
  17.  
  18. ***    What's New in Version v1.13b ?
  19.  
  20.     1.) There has been an internal overhaul of builtin function
  21.     argument handling. No new features, just easier for people to
  22.     write dynamically linked builtin functions (rex-files) once
  23.     the documentation is done.
  24.  
  25.     2.) fvscope now annotates non-function, global variables with
  26.     an asterisk (`*').
  27.  
  28.     3.) New rfiles, section.r, show_prop.r.
  29.  
  30.     4.) Added plsfile to allow users to specify Plplot output
  31.     file. 
  32.  
  33.     5.) I have been working on configure again (a never ending
  34.     process). Now using dynamic-linking is standard for SVr4 and
  35.     Solaris. configure will look for plplot in /usr/local/plplot
  36.     and /usr/local/... if nothing is specified.
  37.  
  38.     6.) OVERHAUL FUNCTION SCOPING RULES. See `help FUNCTION',
  39.     `help global', `help local', and `help static'.
  40.  
  41.     7.) Functions can now use the variable `nargs' which is
  42.     automatically initialized to the number of arguments passed to
  43.     the function. see `help FUNCTION'.
  44.  
  45.     8.) det() now returns zero after issuing a warning when given
  46.     a singular matrix as an argument.
  47.  
  48.     9.) ode() can now take an optional last argument that is a
  49.     function to process the output. See `help ode'.
  50.  
  51.     10.) The Primer has been updated to reflect new scoping rules.
  52.  
  53.     11.) New gnuplot.r from Karl Storck.
  54.  
  55. ***    What's New in Version v1.09i ?
  56.  
  57.     1.) Mostly a portability release. Binary I/O has been improved
  58.     so it should work better on "non-standard" platforms
  59.     (DEC-alpha). Some clean ups have been done to make RLaB build
  60.     easier on HP-UX.
  61.  
  62.     2.) `make install' has been overhauled to use version numbers
  63.     on the executable, and the lib directory. The new install
  64.     procedure will also try and move the old stuff out of the
  65.     way. Nothing is removed, except the old executable. As always
  66.     `make -n install' is highly recommended.
  67.  
  68.     3.) Bug fixes to plhist, plhistx plotting. Addition of
  69.     subplot() function.
  70.  
  71.     4.) New builtin, putenv.
  72.  
  73.     5.) New argument for plot, see `help plot'. Also some 
  74.     general bug fixes in the plotting routines.
  75.  
  76.     6.) Add symmetric/Hermitian factorizations to `\', solve,
  77.     factor, backsub. factor and solve now have an optional
  78.     argument to allow the user to overide symmetry check.
  79.  
  80.     7.) Bug fix in eval() string argument check.
  81.  
  82. ***    What's New in Version v1.09 ?
  83.  
  84.     1.) Dynamic linking is functional for SVr4.0, SunOS-4.x,
  85.     SunOS-5.x. However, there is no documentation at this
  86.     point... Next release.
  87.  
  88. ***    What's New in Version v1.07 ?
  89.  
  90.     1.) Not much except for some bug fixes (plugged a memory
  91.     leak). Mostly there has been some re-organisation of the file
  92.     and function structure in an attempt to make dynamic linking
  93.     possible. Before we go any further though, a significant
  94.     amount of testing should be done.
  95.     
  96. ***    What's New in Version v1.05 ?
  97.  
  98.     1.) fread(), fseek(), if you are a C programmer you know what
  99.     these are. The args are a little different.
  100.  
  101.     2.) eval is now a built-in. Also eval returns the result of
  102.     the last statement, and can be used in function with local
  103.     variables. The best part is that eval no longer used temporary
  104.     files to do its job.
  105.  
  106.     3.) sign() is builtin.
  107.  
  108. ***    What's New in Version v1.02 ?
  109.  
  110.     1.) readm() is MUCH faster.
  111.  
  112.     2.) Revised toeplitz
  113.  
  114.     3.) Added tmpfile() (builtin).
  115.  
  116.     4.) Improved contour plotting so that only visible contours
  117.     are displayed in legend.
  118.  
  119.     5.) Improvements to `make Test' - much less use of rand().
  120.  
  121. ***    What's New in Version v1.0 ?
  122.  
  123.     1.) New functions (rfiles) bessely, besselj.
  124.  
  125.     2.) local() modified so that arguments are copied.
  126.     See `help FUNCTION'
  127.  
  128.     3.) Numerically singlular inputs to solve(), \ are now handled
  129.     with warnings and in a more uniform fashion.
  130.  
  131.     4.) ./misc/rlab-mode.el
  132.     I am NOT an Emacs-lisp programmer. This is hacked from
  133.     tcl-mode.el. if anyone can improve it - go for it.
  134.  
  135.     5.) Added plcont() - contour plotting.
  136.  
  137.     6.) The primer has been updated to match version 1.
  138.  
  139. ***    What's New in Version 0.99i ?
  140.  
  141.     1.) Added plhold(), plhold_off, and plegend().
  142.  
  143.     2.) New rfiles roots() and poly(), join() from T. S. Yang.
  144.  
  145.     3.) A more recent version of fftpack. Sorry, but the accuracy
  146.     is much better with the new version (rfft-1.2.tar.gz) -
  147.     precision demands it.
  148.  
  149.     4.) examples/plhold_demo.r is new.
  150.  
  151.     5.) The plot help has been split up into separate files.
  152.  
  153. ***    What's New in Version 0.99f ?
  154.  
  155.     1.) Added plmesh().
  156.  
  157.     2.) Added examples/curve_fit.r    
  158.  
  159.     3.) min(), max() now accept two numeric args.
  160.  
  161. ***    What's New in Version 0.99e ?
  162.  
  163.     1.) Bug fixes.
  164.  
  165.     2.) rfile will check the value of _rlab_search_path during
  166.     execution.
  167.  
  168. ***    What's New in Version 0.99d ?
  169.  
  170.     1.) Bug fixes.
  171.  
  172.     2.) ode() argument list is now consistent with ode4() and
  173.     ode78(). 
  174.  
  175.     3.) Added open() and getb().
  176.  
  177. ***    What's New in Version 0.99 BETA ?
  178.  
  179.     1.) New rfiles: mdsmax.r, and nmsmax.r. Both perform
  180.     unconstrained optimization.
  181.  
  182.     2.) Fixed non-Matlab-like behavior in acos(), and asin().
  183.  
  184.     3.) getline() returns a NULL string when a blank line is
  185.     encountered.
  186.  
  187.     4.) Added writeb() and readb(). Read and write binary files.
  188.     MATLAB compatibility (see `help readb', `help writeb').
  189.  
  190.     5.) Added ode(). Ordinary differential equation integrator
  191.     (netlib). 
  192.  
  193.     6.) Fixed readm() so it will read from pipes.
  194.  
  195.     7.) Added getenv() built-in function.
  196.  
  197.     8.) Plotting enhancements... plfont(), pltex(), plsori(),
  198.     plwid(), plaxis().
  199.  
  200.     9.) filter() is now a builtin, compatible with MATLAB's
  201.     implementation. 
  202.  
  203.     10.) Enhancements to matrix element-by-element operators, see
  204.     `help OPERATORS'. Added `.+' and `.-'
  205.  
  206. ***    What's New in Version 0.97 BETA ?
  207.  
  208.     1.) More plplot improvements. Updated primer to reflect plplot
  209.     usage. 
  210.  
  211.     2.) Some non-Unix portability enhancements.
  212.  
  213.     3.) Equality (== and !=) tests are allowed between numbers and
  214.     strings. 
  215.  
  216.     4.) New builtin function schord(). See `help schord'.
  217.  
  218. ***    What's New in Version 0.96 BETA ?
  219.  
  220.     1.) mod & atan2 functions now take various combinations of
  221.     matrices.
  222.  
  223.     2.) read() now taks optional 2nd argument (see `help read').
  224.  
  225.     3.) New fix(), and fixed up czt().
  226.  
  227.     4.) The configure script has been improved to take more
  228.     options (see INSTALL).
  229.  
  230.     5.) Changed eig (slightly), and added eigs (symmetric), eign
  231.     (non-symmetric). Non-symmetric generalized eign() returns
  232.     left-eigenvectors now.
  233.  
  234.     6.) Added strtod().
  235.  
  236.     7.) Added PLPLOT built-in plotting capability. You must have
  237.     the double precision version of the plplot library for it to
  238.     work. See `help plplot' and `examples/plot_test.r'.
  239.  
  240.     8.) Added sizeof() (see 'help sizeof') and re-worked whos().
  241.  
  242. ***    What's New in Version 0.9(3-5) BETA ?
  243.  
  244.     1.) New functions: complement(), intersection(), set(),
  245.     union(), faxis(), fftplot(), window(), fmin(), dot().
  246.  
  247.     2.) readm(), and writem() have been modified so that the row
  248.     and column values at the top of the file are no longer needed.
  249.     This means old files written with writem() will have to have
  250.     the first line filtered out. It also means that readm() should
  251.     be able to directly read "flat-files" written by other
  252.     programs. 
  253.  
  254.     3.) New & Improved qr(). New option qr(a,"p") for column
  255.     pivoting. And qr() now works on MxN where M < N as well as 
  256.     M >= N.
  257.  
  258.     4.) Function argument handling has been improved.
  259.         my_func ( , , A )
  260.     is now possible.
  261.  
  262.     5.) Many bug fixes.
  263.  
  264.     6.) fft(), and ifft() now work like MATLAB's
  265.  
  266.     7.) name() is gone (it wasn't of any use anymore anyway).
  267.  
  268.     8.) Added lyap() (user-function), and sylv() (builtin-function).
  269.  
  270.     9.) RLaB uses autoconf now.
  271.  
  272.     10.) Added issymm(), see `help issymm'.
  273.  
  274.     11.) Writem no longer closes the file after each call.
  275.  
  276.     12.) New and improved eig, see `help eig'.
  277.  
  278.     13.) Improved command line options. Added `-V' (version #),
  279.     `-m' (no message on startup), and a usage message if an
  280.     incorrect option is used.
  281.  
  282.     14.) Added czt() - Chirp z-transform.
  283.  
  284. ***    What's New in Version 0.92 BETA ?
  285.  
  286.     1.) New functions: input, num2str, funm, logm, disp, input,
  287.     mret finite, printmat, int2str, filter, and isempty.
  288.  
  289.     2.) A new builtin function called fvscope() (Function
  290.     Variable SCOPE). Fvscope identifies the variables used in a
  291.     function, and what their scope is. This is very useful for
  292.     writing general purpose library functions.
  293.  
  294.     3.) Bug fixes to the error recovery.
  295.  
  296. ***    What's New in Version 0.91 BETA ?
  297.  
  298.     1.) RLaB can now load() files while executing code, such as in
  299.     for, or while loops, or within functions. This makes a simple
  300.     eval function possible. See `help load', `help eval', 
  301.     `help BUGS'.
  302.     
  303.     2.) Added expm() rfile.
  304.  
  305. ***    What's New in Version 0.86 BETA ?
  306.  
  307.     1.) Bug fixes.
  308.  
  309. ***    What's New in Version 0.85 BETA ?
  310.  
  311.     1.) Enhanced svd(), See `help svd'.
  312.  
  313.     2.) Bug fixes.
  314.  
  315. ***    What's New in Version 0.84 BETA ?
  316.  
  317.     1.) Added schur()
  318.  
  319.     2.) Bug fixes.
  320.  
  321. ***    What's New in Version 0.83 BETA ?
  322.  
  323.     1.) The usual bug fixes.
  324.  
  325.     2.) Added doc/tutorial.3.tex (List Tutorial).
  326.  
  327. ***    What's New in Version 0.82 BETA ?
  328.  
  329.           1.) My apologies again, but I have restructured the class,
  330.               type hierarchy in rlab. This was necessary for several
  331.               reasons. The new hierarchy is only slightly different, and
  332.               is described in the help files: class, type, and show. The
  333.               new hierarchy looks like: (from the help file "type")
  334.  
  335.             CLASS:    num
  336.             TYPES:    real      complex
  337.  
  338.             CLASS:    string
  339.               TYPES:    string
  340.  
  341.             CLASS:    list
  342.             TYPES:    (see note 1.)
  343.  
  344.             CLASS:    function
  345.             TYPES:    user      builtin
  346.  
  347.           2.) Improved type().
  348.  
  349.           3.) Improved test-suite.
  350.  
  351.           4.) Improvements in the makefile install target.
  352.  
  353.           5.) Rlab now has a command line editing option that is much
  354.           smaller than GNU readline. Courtesy of Chris Thewalt.
  355.  
  356.         See `help COMMAND_EDIT' 
  357.  
  358.     6.) The contrib directory has been removed. Most of the
  359.     contrib directories contents have been moved to the toolbox
  360.     directory. I did this because I have been forgetting to keep
  361.     the contrib directories files current with rlab. Also, the
  362.     original intention was to keep unaltered, contributed rfiles
  363.     there. Since I have had to modify the contents of contrib to
  364.     keep up with the changes in rlab, the contrib directory no
  365.     longer seemed appropriate. Maybe when rlab gets to v1.0.
  366.  
  367.     7.) Small modifications to existing ODE integration functions.
  368.  
  369.     8.) Added setterm(), showplot, phrd() to plot functionality.
  370.  
  371. ***    What's New in Version 0.78 BETA ?
  372.  
  373.     1.) Added file static() declaration.
  374.  
  375.     2.) Added exist() built-in function.
  376.  
  377.     3.) diag(), ones() are builtin.
  378.  
  379.     4.) Added whos().
  380.  
  381.     5.) Improved plot(), added pclose().
  382.  
  383.     6.) Added factor(), backsub(). lu() is now a user-function.
  384.  
  385.           7.) My apologies, but I found the "dummy" name scheme for
  386.               determining the status of a function argument to be
  387.               totally inappropriate for nested function calls.
  388.               Therefore, I have changed rlab behavior so that functions
  389.               that are called with fewer args than declared are supplied
  390.               UNDEFINED arguments to fill out the argument list. To test
  391.               the status of an argument do:
  392.  
  393.               if (!exist (ARG))
  394.               {
  395.                 // initialize the ARG, error(), whatever...
  396.               }
  397.  
  398.           8.) Added qq_normal(), fliplr(), flipud() to ./toolbox
  399.  
  400. ***    What's New in Version 0.75 BETA ?
  401.  
  402.     1.) Fixed cumsum(), and cumprod() (much more efficient).
  403.         New rfiles save.r, clearall.r.
  404.  
  405.     2.) Finished 1st draft of function tutorial.
  406.  
  407.     3.) Improved getline().
  408.  
  409.     4.) Removed need to terminate function declaration with `;' or
  410.         `\n'. 
  411.  
  412.     5.) The usual bug fixes, documentation improvements, etc...
  413.  
  414. ***    What's New in Version 0.73 BETA ?
  415.  
  416.     1.) length() more compatible with the other length().
  417.  
  418.     2.) $$ can be used as global symbol table constant.
  419.  
  420. ***    What's New in Version 0.71 BETA ?
  421.  
  422.     1.) cd(). New function. Changes current working directory.
  423.  
  424.     2.) redit.r: For editing rfiles.
  425.  
  426.     3.) Addition to config.h (HAVE_INDEX).
  427.  
  428. ***    What's New in Version 0.70 BETA ?
  429.  
  430.     1.) Faster matrix multiplication functions ( ~ 20% ).
  431.     
  432.     2.) sum(), and prod(), are builtin (faster). cumsum(), and
  433.         cumprod() will be builtin shortly (rfiles for now.
  434.  
  435.     3.) Better signal handling.
  436.  
  437.     4.) Some interpreter speedups.
  438.  
  439.     5.) Matrix powers finally work.
  440.  
  441.     6.) Some type-checking/handling consistency improvements.
  442.  
  443.     7.) The example plot() function is simpler now.
  444.  
  445.     8.) Empty matrix syntax added ( `[]' ).
  446.  
  447.     9.) fft(), ifft() now work on MxN matrices. max(), and min()
  448.         any(), all(), sort(), work more like MATLAB versions.
  449.  
  450.     10.) Many, many  bugs fixed.
  451.  
  452.     11.) `[ : ]' operation added. Forces Nx1 orientation of matrix.
  453.  
  454.     12.) Complex atan, acos, asin, tan now work.
  455.  
  456.     13.) A stop-gap matrix-tutorial in ./doc, updated man-page.
  457.  
  458.     14.) .' non-conjugate transpose.
  459.  
  460.     15.) getline() returns an empty list when nothing is read. See
  461.         `help getline'.
  462.  
  463.     16.) length(): New function.
  464.  
  465.     17.) `#!' can be used in rlab scripts.
  466.  
  467. ***    What's New in Version 0.52 ALPHA ?
  468.  
  469.     1.) Bug fixes.
  470.  
  471.     2.) Now sort() returns a list of the sorted values, and the
  472.     sorted indices. 
  473.  
  474.     3.) maxi()/mini() now return a scalar index value. This value
  475.     can be used directly to index another matrix.
  476.  
  477. ***    What's New in Version 0.51 ALPHA ?
  478.  
  479.     1.) The help and rfile commands are more versatile. For
  480.     example: `help help' will work now.
  481.  
  482.     2.) Vector creation (d1:d2:d3) rules make more sense (see
  483.     `help VECTOR').
  484.  
  485.     3.) A\B, and C/D now use a more efficient algorithm when A or
  486.     C is square.
  487.  
  488.     4.) There is a brief man-page.
  489.  
  490.     5.) Some bug fixes in max(), min(), and mod().
  491.  
  492.     6.) A directory of test-matrix functions has been added under
  493.     the examples directory. 
  494.  
  495. ***    What's New in Version 0.50 ALPHA ?
  496.  
  497.     1.) The find function is now a builtin (much faster).
  498.  
  499.     2.) The if-statement syntax has changed slightly. Used to be: 
  500.  
  501.         if ( expression ) {
  502.           statement(s)
  503.         } else { // The braces and the else must be on the same line
  504.           statement(s)
  505.         }
  506.  
  507.     Now the correct syntax is:
  508.  
  509.         if ( expression )
  510.         {
  511.           statement(s)
  512.         else
  513.           statement(s)
  514.         }
  515.  
  516. ***    What's New in Version 0.32 ALPHA ?
  517.  
  518.     1.) Added `rfile' command. `file name' now loads the file
  519.     named `name.r' if it can be located in your RLAB_SEARCH_PATH.
  520.     The simple command `rfile' prints a list of all the rfiles
  521.     that appear in RLAB_SEARCH_PATH.
  522.  
  523.     2.) Changed `help' command to be consistent with `rfile'
  524.     command. The simple command `help' prints a list of: the help
  525.     files in the default help directory, and the rfiles in
  526.     RLAB_SEARCH_PATH. `help name' prints the content of the file
  527.     `name' to the standard output. If the file does not exist in
  528.     the default help directory, RLAB_SEARCH_PATH is searched.
  529.  
  530.     3.) The `rlib' directory contents are now loaded upon startup,
  531.     instead of having a HUGE `.rlab' file. Added RLAB_LIB_DIR for
  532.     post-compile specification of library directory.
  533.  
  534.     4.) All matrix output is paged. The pager is specified in the
  535.     config.h file.
  536.  
  537.     5.) Added getline() function. Works sort-of-like the awk
  538.     getline. `x = getline("filename")' gets a line-at-time, and
  539.     splits it into fields. Each field is a member of a list. Thus,
  540.     x.[1] ... x.[N] contain the all the information from the line.
  541.  
  542.     6.) Added strsplt(). Splits a string into a matrix of single
  543.     characters.
  544.  
  545. ***    What's New in Version 0.30 ALPHA ?
  546.  
  547.     Version 0.3x is the last of the ALPHA test releases. Notice I
  548.     did not say 0.30, since I do expect to release bug-fixes to
  549.     v0.30. The major obstacle to starting beta test is a better
  550.     online help, and a good printed manual. Other than bug-fixes
  551.     these two goals will be my major priority.    
  552.  
  553.     1.) RLaB-0.30 is more MATLAB-like.
  554.  
  555.     2.) Vectors have been remove as a distinct type. However, all
  556.     of the usefulness of vectors is still accessible via single
  557.     indexed matrices. 
  558.  
  559.     Side effects: 
  560.  
  561.     This means that the append operator, `,', does not function
  562.     outside the [ ]. Instead, the comma (outside []) serves in a
  563.     more traditional sense, as an argument list separator.
  564.  
  565.     Some of the built-in functions arguments are different. For
  566.     example, zeros used to take a 2-element vector as an arg. Now
  567.     zeros will accept two scalars, or a 2-element matrix.
  568.  
  569.     3.) RLaB has adopted the MATLAB operator syntax.
  570.  
  571.     + - * /    \ ^    Work in the traditional LA sense.
  572.        .* ./ .\ .^    Work in the element-by-element sense.
  573.  
  574.     Note that `2./A' is the same as `2 ./ A'
  575.     Also note that `^' is not fully implemented yet.
  576.  
  577.     4.) The printed documentation has been removed. Two of the
  578.     alpha testers have volunteered to overhaul the printed docs in
  579.     latex or latexinfo. 
  580.  
  581.     5.) Some changes in the numeric output format, and the
  582.     format() built-in function. See `help format'.
  583.  
  584.     6.) RLaB will use matherr() instead of errno, If your machine
  585.     supports it (and you select it in config.h). This option
  586.     should prove much faster than checking errno after every math
  587.     library function call.
  588.  
  589.     7.) New built-in functions: inf(), nan(), round().
  590.  
  591.     8.) Matrix 2-norm has been added to norm(); `norm( m, "2" )'.
  592.  
  593.     9.) "clock" option added to srand(); sets seed via the machine clock.
  594.